package com.myspark.createrdd;

import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaRDD;
import org.apache.spark.api.java.JavaSparkContext;

import java.util.Arrays;
import java.util.List;

//从集合读取数据
public class RDDExample1 {

    public static void main(String[] args) {
        // 1.创建配置对象
        SparkConf conf = new SparkConf();
        // Spark 应用程序在‌本地模式‌下运行，并使用当前机器的‌所有 CPU 核心‌进行并行计算
        conf.setMaster("local[*]");
        conf.setAppName("RDDExample1");

        // 2. 创建sparkContext
        JavaSparkContext sc = new JavaSparkContext(conf);

        // 3. 编写代码
        //创建集合
        List<String> data = Arrays.asList("hello", "spark");
        //将驱动程序中的本地集合转换为分布式的RDD（弹性分布式数据集），其核心作用是创建RDD
        JavaRDD<String> stringRDD = sc.parallelize(data);
        //将分布式数据（如RDD或DStream）从所有工作节点拉取到Driver端，以集合形式返回结果
        List<String> result = stringRDD.collect();
         //遍历集合
        for (String s : result) {
            System.out.println(s);
        }

        // 4. 关闭sc
        sc.stop();



    }

}
